Advances in semi-conductor processing and logic design have permitted an increase in the amount of logic that may be present on integrated circuit devices. As a result, computer system configurations have evolved from a single or multiple integrated circuits in a system to multiple cores and multiple logical processors present on individual integrated circuits. A processor or integrated circuit typically comprises a single processor die, where the processor die may include any number of cores or logical processors.
Currently, processors may include as many as four or eight cores. However, future processors are contemplated to include 64 or more cores on a physical die. In addition, within each core, more cases have developed where an architectural state of a core needs to be saved. However, current architectural states of cores are often stored through microcode.
Therefore, currently when a failure occurs on a core in a processor, the failure is potentially fatal resulting in a loss of the core. Additionally, even if the core is able to be recovered, previous execution on that processor is often lost. Additionally, when a section of a processor becomes too hot or too active, there is no current method of distributing workload among other available cores. In contrast, thermal issues are often dealt with through throttling, which potentially adversely affects execution performance.